package com.dbq.fast.business.login.bean;

import com.dbq.fast.common.bean.BaseModel;
import com.litesuits.orm.db.annotation.Conflict;
import com.litesuits.orm.db.annotation.Table;
import com.litesuits.orm.db.annotation.Unique;
import com.litesuits.orm.db.enums.Strategy;

import java.io.Serializable;


@Table("Profile")
public class CustomProfile extends BaseModel implements Serializable{

    private int loginChannel; //登录渠道 0:游客 1:WeChat 2:FB 3:Sina Weibo（问过服务器端没有此记录了） 3:邮箱 4:手机
    //共有的
    @Unique
    @Conflict(Strategy.REPLACE)
    private String platformId; //用户唯一标识(微信用户Id/FacebookId)
    private String username; //普通用户昵称
    private int gender; //普通用户性别，1为男性，2为女性，3未知
    private String country; //国家，WeChat 如中国为CN ， FB的 locale（zh_CN） 归为此类
    //fb特有
    private String birthday;
    private String email;
    private String link; //FB主页链接
    private double timezone;
    private int minAge;
    private int maxAge;
    private String picture;
    //wechat特有
    private String province; //普通用户个人资料填写的省份
    private String city; //普通用户个人资料填写的城市
    private String headimgurl; //用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空
    //Sina Weibo特有
    private int followers_count; //粉丝数
    private int friends_count; //关注数
    private int statuses_count; //微博数
    private int favourites_count; //收藏数
    private boolean verified; //是否是微博认证用户，即加V用户，true：是，false：否
    private boolean follow_me; //该用户是否关注当前登录用户，true：是，false：否
    private int bi_follow; //用户互粉数
    //定制
    private String uuid; //androidId
    private String sex; //1为男性，2为女性，3未知
    private String token;
    private String account;
    private String icon; //头像
    private int userServiceLevel; //用户服务等级， 数字越高，等级越高
    private int newTestService; //是否是领取试用服务的新设备 0：不是 1：是
    private int newUserDiscount; //新账号折扣券 1:新账号给折扣券 0：不是新账号不给
    //需添os：Android 、 osVer：6.0 、 appVer: 1.0
    private String os = "Android";
    private String osVer; //手机操作系统版本
    private String appVer; //app版本号
    private String vpnId; //vpnId
    private String refreshToken; //刷新token
    private long expiresIn; //过期时间
    private String location; //地理位置信息
    private String parentId; //上家VpnId
    private String pwd; //密码
    private String pwdVerify; //确认密码
    private String captcha; //验证码

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public int getLoginChannel() {
        return loginChannel;
    }

    public String getPlatformId() {
        return platformId;
    }

    public void setPlatformId(String platformId) {
        this.platformId = platformId;
    }

    public void setLoginChannel(int loginChannel) {
        this.loginChannel = loginChannel;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public double getTimezone() {
        return timezone;
    }

    public void setTimezone(double timezone) {
        this.timezone = timezone;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getHeadimgurl() {
        return headimgurl;
    }

    public void setHeadimgurl(String headimgurl) {
        this.headimgurl = headimgurl;
    }

    public int getMinAge() {
        return minAge;
    }

    public void setMinAge(int minAge) {
        this.minAge = minAge;
    }

    public int getMaxAge() {
        return maxAge;
    }

    public void setMaxAge(int maxAge) {
        this.maxAge = maxAge;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public int getUserServiceLevel() {
        return userServiceLevel;
    }

    public void setUserServiceLevel(int userServiceLevel) {
        this.userServiceLevel = userServiceLevel;
    }

    public int getNewTestService() {
        return newTestService;
    }

    public void setNewTestService(int newTestService) {
        this.newTestService = newTestService;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getOsVer() {
        return osVer;
    }

    public void setOsVer(String osVer) {
        this.osVer = osVer;
    }

    public String getAppVer() {
        return appVer;
    }

    public void setAppVer(String appVer) {
        this.appVer = appVer;
    }

    public String getVpnId() {
        return vpnId;
    }

    public void setVpnId(String vpnId) {
        this.vpnId = vpnId;
    }

    public String getRefreshToken() {
        return refreshToken;
    }

    public void setRefreshToken(String refreshToken) {
        this.refreshToken = refreshToken;
    }

    public long getExpiresIn() {
        return expiresIn;
    }

    public void setExpiresIn(long expiresIn) {
        this.expiresIn = expiresIn;
    }

    public int getFollowers_count() {
        return followers_count;
    }

    public void setFollowers_count(int followers_count) {
        this.followers_count = followers_count;
    }

    public int getFriends_count() {
        return friends_count;
    }

    public void setFriends_count(int friends_count) {
        this.friends_count = friends_count;
    }

    public int getStatuses_count() {
        return statuses_count;
    }

    public void setStatuses_count(int statuses_count) {
        this.statuses_count = statuses_count;
    }

    public int getFavourites_count() {
        return favourites_count;
    }

    public void setFavourites_count(int favourites_count) {
        this.favourites_count = favourites_count;
    }

    public boolean isVerified() {
        return verified;
    }

    public void setVerified(boolean verified) {
        this.verified = verified;
    }

    public boolean isFollow_me() {
        return follow_me;
    }

    public void setFollow_me(boolean follow_me) {
        this.follow_me = follow_me;
    }

    public int getBi_follow() {
        return bi_follow;
    }

    public void setBi_follow(int bi_follow) {
        this.bi_follow = bi_follow;
    }

    public int getNewUserDiscount() {
        return newUserDiscount;
    }

    public void setNewUserDiscount(int newUserDiscount) {
        this.newUserDiscount = newUserDiscount;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getPwdVerify() {
        return pwdVerify;
    }

    public void setPwdVerify(String pwdVerify) {
        this.pwdVerify = pwdVerify;
    }

    public String getCaptcha() {
        return captcha;
    }

    public void setCaptcha(String captcha) {
        this.captcha = captcha;
    }

    @Override
    public String toString() {
        return "CustomProfile{" +
                "loginChannel=" + loginChannel +
                ", platformId='" + platformId + '\'' +
                ", username='" + username + '\'' +
                ", gender=" + gender +
                ", country='" + country + '\'' +
                ", birthday='" + birthday + '\'' +
                ", email='" + email + '\'' +
                ", link='" + link + '\'' +
                ", timezone=" + timezone +
                ", minAge=" + minAge +
                ", maxAge=" + maxAge +
                ", picture='" + picture + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", headimgurl='" + headimgurl + '\'' +
                ", followers_count=" + followers_count +
                ", friends_count=" + friends_count +
                ", statuses_count=" + statuses_count +
                ", favourites_count=" + favourites_count +
                ", verified=" + verified +
                ", follow_me=" + follow_me +
                ", bi_follow=" + bi_follow +
                ", uuid='" + uuid + '\'' +
                ", sex='" + sex + '\'' +
                ", token='" + token + '\'' +
                ", account='" + account + '\'' +
                ", icon='" + icon + '\'' +
                ", userServiceLevel=" + userServiceLevel +
                ", newTestService=" + newTestService +
                ", newUserDiscount=" + newUserDiscount +
                ", os='" + os + '\'' +
                ", osVer='" + osVer + '\'' +
                ", appVer='" + appVer + '\'' +
                ", vpnId='" + vpnId + '\'' +
                ", refreshToken='" + refreshToken + '\'' +
                ", expiresIn=" + expiresIn +
                ", location='" + location + '\'' +
                ", parentId='" + parentId + '\'' +
                ", pwd='" + pwd + '\'' +
                ", pwdVerify='" + pwdVerify + '\'' +
                ", captcha='" + captcha + '\'' +
                '}';
    }
}
